The present invention relates to the task of managing packet flows in a computer network.
Dramatic advances in networking technology presently make it possible to transfer data at bandwidths exceeding several gigabits per second across a single high-speed optical pipe. These high-speed pipes can be used to connect data centers to wide area networks and the Internet. In order to effectively use the bandwidth available through these high-speed pipes, edge devices within the data centers must be able to manage the packet flows received through these pipes. Examples of operations related to managing network flows include, but are not limited to, performing firewall functions, service level agreement (SLA) monitoring, transport matching, and load balancing. In order to perform these tasks, edge devices need to be constructed so that they scale to high data rates in a reliable fashion.
This problem of managing packet flows is further complicated by the increasing use of structured data within these packet flows. The rapid growth of structured data entities like eXtensible Markup Language (XML) and its embracement by the Electronic Data Interchange (EDI) provides a common presentation protocol for a variety of heterogeneous data sources. However, due to the verbose nature of structured data and the likely future adaptation of selective content encryption, general purpose applications and web servers are likely to encounter a performance problem in handling this structured data.
Note that the ability to interpret structured data entities (e.g., XML) in a packet flow can help to effectively manage the packet flow. For example, a system can send a packet flow to a “specialized” network instance for efficient processing based on interpreting the structured data in the packet flow.
Previous studies of structured and semi-structured data have typically been confined to very large database access and query subsystems. Papers in scientific literature mainly focus on building efficient finite state automata for structured data parsing and query retrieval. At present, no study has focused on methodologies for organizing the structured elements in a zero-collision manner that guarantees efficient retrieval, search, and stream redirection operations.
Hence, what is needed is a method and an apparatus that facilitates interpreting structured data elements while managing packet flows at high data rates.